package com.authine.cloudpivot.ext.dto.model.report;

import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import lombok.experimental.SuperBuilder;

@Data
@SuperBuilder
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("应收账款")
public class AccountReceivableReport {
    private String groupId = "1";
    /**
     * 项目部门
     */
    private String projectDepartment;
    /**
     * 负责人
     */
    private String principal;
    /**
     * 客户组织
     */
    private String customerOrganizationName;
    /**
     * 客户组织编号
     */
    private String customerOrganizationId;
    /**
     * 客户名称（发票抬头或付款抬头），这里跟客户组织可能不同（e.g 父组织帮子组织付款）
     */
    private String customerName;
    /**
     * 发票号码
     */
    private String invoiceNumber;
    /**
     * 开票日期
     */
    private String date;
    /**
     * 开票金额
     */
    private Double total;
    /**
     * 账期
     */
    private Integer actualAccountPeriod;
    /**
     * 截止日期
     */
    private String deadline;
    /**
     * 收款方式
     */
    private String paymentMethod;
    /**
     * 实际收款
     */
    private Double actualReceipt;
    /**
     * 收款日期
     */
    private String paymentDate;
    /**
     * 应收款余额
     */
    private Double accountReceivableBalance;
    /**
     * 到期日
     */
    private String expiryDate;
    /**
     * 逾期天数
     */
    private Integer daysOverdue;
    /**
     * 备注
     */
    private String memo;
    /**
     * 是否到期
     */
    private String whetherToExpire;
    /**
     * 未到期金额
     */
    private Double unexpiredAmount;
    /**
     * 相关编号
     */
    private String relatedId;
    /**
     * 一个月账龄
     */
    private Double oneMonthAging;
    /**
     * 二个月账龄
     */
    private Double twoMonthAging;
    /**
     * 三个月账龄
     */
    private Double threeMonthAging;
    /**
     * 三个以上月账龄
     */
    private Double moreMonthAging;
    /**
     * 对应平台组织名称
     */
    private String platformOrgName;
}
